package com.tuanzi.loan.business.service.application;

import com.tuanzi.loan.business.entity.application.LoanApplicationExport;
import com.tuanzi.loan.core.service.BaseAuditService;
import com.tuanzi.loan.core.vo.PageSearcher;
import com.tuanzi.loan.vo.request.application.LoanApplicationExportRequest;
import com.tuanzi.loan.vo.response.application.LoanApplicationExportResponse;
import com.tuanzi.loan.vo.view.family.product.LoanApplicationExportView;
import org.springframework.data.domain.Page;

import java.util.List;

public interface LoanApplicationExportService extends BaseAuditService<LoanApplicationExport,Long> {
    Page<LoanApplicationExportResponse> list(PageSearcher<LoanApplicationExportRequest> pageSearcher);

    LoanApplicationExport saveOrUpdateApplicationExport(LoanApplicationExportView view);

    void online(LoanApplicationExport export);
    void online(List<LoanApplicationExport> exports);

    void offline(LoanApplicationExport export);
    void offline(List<LoanApplicationExport> exports);

    void delete(LoanApplicationExport export);

    LoanApplicationExportView loadApplicationExportView(Long id);

    void cleanExportRedis();

    void cleanExportRedis(Integer exportGroupId);

    void cleanExportRedis(Integer exportGroupId,Integer type);

    List<LoanApplicationExport> findByGroupId(Integer exportGroupId);
}
